Repository navigation
feat: support MAT releases at least two years old, and test the newest MAT in CI - #131
Merged
Merged
Conversation
vlsi
force-pushed
the
mat-support-window
branch
from
November 8, 2026 20:19
dcd476d to
8d73945
Compare
…t MAT in CI The plugin compiled against an Eclipse 2022-12 platform and declared MAT 1.13.0 (tests 1.8.0) as the minimum, while the README claimed 0.14.0. Nothing kept the minimum moving, and nothing tested the plugin on a current MAT, so a break on MAT 1.17 would surface only in a user report. The plugin now supports the newest MAT release that is at least two years old, which today is MAT 1.15.0 on Eclipse 4.30 and Java 17. MatCalciteTargetPlatform.target lists that MAT, and the build and the update site use it. mat-latest.target lists the newest MAT (1.17.0 on Eclipse 4.40, Java 21); the mat-latest Maven profile builds and tests against it. The Maven libraries both targets need move to dependencies.target. Renovate keeps both ends current: - eclipse-mat raises the minimum in the main target, the manifests and README.md once a MAT release is 730 days old (minimumReleaseAge with internalChecksFilter=strict). The PR is not automerged, and its body lists the manual steps: the Eclipse release, the Java version where the new MAT needs a newer one, and the CHANGELOG entry. The eclipse-mat/mat GitHub tags give the release dates. - eclipse-mat-latest and eclipse-platform-latest move mat-latest.target to the newest release listed on download.eclipse.org, which publishes a release months before GitHub gets its tag. CI builds a random matrix with @vlsi/github-actions-random-matrix (.github/workflows/matrix.mjs). Every run covers the oldest and the newest MAT, Java 17, 21 and 25, and Ubuntu and Windows; it also varies the JDK vendor, the locale (tr_TR included) and the time zone (Pacific/Chatham included), which may surface failures unrelated to MAT. Exactly one row, the oldest MAT on its Java on Ubuntu, uploads and publishes the update site. User-visible: The plugin requires Eclipse Memory Analyzer 1.15.0 or later; MAT 1.13 and 1.14 can no longer install it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
testStackTraces failed in every CI job on MAT 1.15 and 1.17:
expected:<...ng.Object.wait(J)V ([Native Method])> but was:<...ng.Object.wait(J)V ([Object.java(Native Method)])>
MAT 1.15 and later print a native frame with its source file. The test passed locally only because
MatCalciteTest/dumps kept the *.index and .threads files an older MAT had written, and MAT reuses them
instead of parsing the dump again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
vlsi
force-pushed
the
mat-support-window
branch
from
November 8, 2026 20:27
8d73945 to
ae687d5
Compare
vlsi
enabled stacked auto-merge (squash)
November 8, 2026 20:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Breaking changes. The plugin requires Eclipse Memory Analyzer 1.15.0 or later. MAT 1.13 and 1.14 can no longer install the next release; 1.6.2 stays the last release for them.
The plugin declared MAT 1.13.0 as its minimum (the test bundle 1.8.0, the README 0.14.0), compiled against Eclipse 2022-12, and was never tested on a current MAT. Nothing moved the minimum forward, so a break on MAT 1.17 would surface only in a user report.
The plugin now supports the newest MAT release that is at least two years old, documented under "Supported versions" in the README. Today that is MAT 1.15.0 on Eclipse 4.30 and Java 17:
MatCalciteTargetPlatform.targetlists the oldest supported MAT; the build and the update site use it.mat-latest.targetlists the newest MAT (1.17.0 on Eclipse 4.40, Java 21);./mvnw -Pmat-latest verifybuilds and tests against it.dependencies.target.Renovate keeps both ends current:
eclipse-matraises the minimum in the main target, the manifests and the README once a MAT release is 730 days old (minimumReleaseAgewithinternalChecksFilter: strict, release dates from theeclipse-mat/mattags). The PR is not automerged, and its body lists the manual steps: the Eclipse release, the Java version where the new MAT needs a newer one, and the CHANGELOG entry. A local dry run (Renovate 44.222.4) marks 1.15.0 → 1.16.1 as pending; 1.16.0 becomes eligible on 2026-12-17.eclipse-mat-latestandeclipse-platform-latestmovemat-latest.targetto the newest release listed on download.eclipse.org, which publishes a release months before GitHub gets the tag. The dry run offers Eclipse 4.40 → 4.41.CI builds a random matrix with
@vlsi/github-actions-random-matrixin.github/workflows/matrix.mjs. Every run covers the oldest and the newest MAT, Java 17, 21 and 25, and Ubuntu and Windows. It also varies the JDK vendor, the locale (tr_TR included) and the time zone (Pacific/Chatham included), which may surface failures unrelated to MAT. Exactly one row, the oldest MAT on its Java on Ubuntu, uploads and publishes the update site. The Java axis starts at the Java the oldest MAT requires, so the matrix stays satisfiable when that becomes Java 21.Verification. Built locally: the oldest MAT on JDK 17, and
-Pmat-lateston JDK 21 with-Duser.language=tr -Duser.country=TR -Duser.timezone=Pacific/Chatham, 49 tests each, no failures; the test runtime resolvedorg.eclipse.mat.api1.17.0 for the latter. Windows, Java 25 and JDK vendors other than zulu and liberica run for the first time in this PR's CI.Scope. Stacked on #130. #121 should be rebased onto this and drop its raise of the minimum to MAT 1.17 and Java 21. The
eclipse-repositoryproperty in the root pom, used only bytycho-eclipserun-pluginfor a local launch, still points at Eclipse 2022-12. Theeclipse-mat/matrepository has noR_1.17.0tag yet; Renovate needs it before MAT 1.17 can become the minimum in 2028.🤖 Generated with Claude Code